【iOSDC Japan 2023 レポート】「6年間運用したiOSアプリのリアーキテクトについて具体的に解説」を聞いてきた。
はじめに
年に一度のiOSエンジニアの為のお祭り iOSDC Japan 2023に参加しています。
せっかくなので、参加したセッションのレポートを書きたいと思います。
6年間運用したiOSアプリのリアーキテクトについて具体的に解説
登壇者
- daikimatさん
概要
kintone は、サイボウズが世界中にチームワークを広めるため開発している「業務改善プラットフォーム」のクラウドサービスです。
kintone のモバイルアプリは約6年運用してきました。
日々の開発の中で、いくつかの保守的な判断が積み重なりコードの複雑性は増していきました。
ビジネスモデルの変化やチーム構成の変化への対応に追われ、開発速度は徐々に低下していきました。
本トークでは、このような問題のある状態に対して行ったリアーキテクトについて話します。
- 新機能開発と並行開発でのリアーキテクトの進め方
- 具体的なリアーキテクトの内容
- リアーキテクトがもたらした新技術導入やSwiftバージョン追従への見通しの変化
この実例を元に、聴衆の皆様が大小様々な負債を解消していく助けとなることを期待しています。
引用: fortee
資料
感想
保守容易性が低くなってきたと感じたプロジェクトで、どのようにリアーキテクトを行ってきたのかを実体験を交えて説明されていました。
保守容易性が低くなることで、参入メンバーが全体のコードの流れを把握するのに時間がかかり、開発スピード感が下がる問題があり、それを解決する対策として、分割リアーキテクト(プロジェクトを小さな単位で分割して、分割したモジュール単位でリアーキテクトを行う)を進めていく方針に決定したとのこと。
メリットとしては、
- 作業のスコープが小さくなるのでリスクコントールをしやすい、工数見積もりしやすい
- 実装イメージが明確でなくても作業を進められる
また、1週間のスプリントでサイクルを回しているため、その中に取り込みやすい。
リアーキテクトに限らず、大きな課題と向き合う時は、小さく分割して対応を進めるという考え方は大事ですね。
また機能開発とリアーキテクトの投資比率は5:5
になっており、会社からの理解もあり、進めていきやすい環境があるのも良いですね。
おわりに
登壇者の方が広島の方だったので、広島にiOSエンジニアいるんだと喜びを感じました。
iOSDC 2023 レポート関連
Day 0
- 「タクシーアプリの多言語対応・ローカライズにおける課題と解決策」を聞いてきた。
- 「Appleにおけるプライバシーの全容を把握する」を聞いてきた。
- 「SwiftUIの進化についていくためにやったこと」を聞いてきた。
- 「SharePlayの歴史と進化 - そしてvisionOSへ」を聞いてきた。
- 「UIKit ベースの Custom UIContentConfiguration API を用いた複雑なカスタムセルの作り方」を聞いてきた。